package dr.moteur;

import javax.vecmath.Vector2f;

public class TourTazer extends TourAbstraite {
	/*Constructeur*/
	public TourTazer(Vector2f position, int idJoueur, GameEngine gameEngine){
		super(position, idJoueur, gameEngine);
		this.nom="Tour tazer";
		this.cout=300;
		this.rayon=30.0f;
		this.portee=75;
		this.puissance=90;
		this.delaiDeTir=0;
		this.cadenceDeTir=1.0f;
		AmeliorationAbstraite effet=new EffetNormal();
		this.porteeEffetTourBonus=0;
		this.effetTourBonus=effet;
		this.porteeEffetAgentBonus=0;
		this.effetAgentBonus=effet;
		this.porteeEffetTourMalus=0;
		this.effetTourMalus=effet;
		this.porteeEffetAgentMalus=0;
		this.effetAgentMalus=effet;
		this.renommer();
		sauverEffet();
	}
	
	/*fonction pour tirer sur un agent*/
	public void tirer() {
		delaiDeTir=cadenceDeTir;
		
		float distanceTemp;
		for(int i =0; i<gameEngine.getListeAgents().size();i++){
			if(gameEngine.getListeAgents().get(i).getIdJoueur()!=idJoueur){
				distanceTemp=(float) Math.pow(Math.pow(position.x-gameEngine.getListeAgents().get(i).getPosition().x,2)+Math.pow(position.y-gameEngine.getListeAgents().get(i).getPosition().y,2),0.5f);
				if(distanceTemp<=portee) {
					cible = gameEngine.getListeAgents().get(i);
					Laser2 proj=new Laser2(this.idJoueur, this.position, this.cible, this.puissance, this.gameEngine,0.0f);
					gameEngine.getListeProjectiles().addLast(proj);
				}
			}
		}
	}
}
